In abstract algebra, the free monoid on a set is the monoid whose elements are all the (or strings) of zero or more elements from that set, with string concatenation as the monoid operation and with the unique sequence of zero elements, often called the empty string and denoted by ε or λ, as the identity element. The free monoid on a set A is usually denoted A∗. The free semigroup on A is the subsemigroup of A∗ containing all elements except the empty string. It is usually denoted A+., [1]
More generally, an abstract monoid (or semigroup) S is described as free if it is isomorphic to the free monoid (or semigroup) on some set.
As the name implies, free monoids and semigroups are those objects which satisfy the usual universal property defining , in the respective categories of monoids and semigroups. It follows that every monoid (or semigroup) arises as a homomorphic image of a free monoid (or semigroup). The study of semigroups as images of free semigroups is called combinatorial semigroup theory.
Free monoids (and monoids in general) are associative, by definition; that is, they are written without any parenthesis to show grouping or order of operation. The non-associative equivalent is the free magma.
For example, assuming an alphabet A = { a, b, c}, its Kleene star A∗ contains all concatenations of a, b, and c:
If A is any set, the word length function on A∗ is the unique monoid homomorphism from A∗ to ( N0,+) that maps each element of A to 1. A free monoid is thus a graded monoid.Sakarovitch (2009) p.382 (A graded monoid is a monoid that can be written as . Each is a grade; the grading here is just the length of the string. That is, contains those strings of length The symbol here can be taken to mean "set union"; it is used instead of the symbol because, in general, set unions might not be monoids, and so a distinct symbol is used. By convention, gradations are always written with the symbol.)
There are deep connections between the theory of and that of automata theory. For example, every formal language has a syntactic monoid that recognizes that language. For the case of a regular language, that monoid is isomorphic to the transition monoid associated to the semiautomaton of some deterministic finite automaton that recognizes that language. The regular languages over an alphabet A are the closure of the finite subsets of A*, the free monoid over A, under union, product, and generation of submonoid.
For the case of concurrent computation, that is, systems with locks, or , the computation can be described with and . Roughly speaking, elements of the monoid can commute, (e.g. different threads can execute in any order), but only up to a lock or mutex, which prevent further commutation (e.g. serialize thread access to some object).
A monoid is free if and only if it is Graded monoid (in the strong sense that only the identity has gradation 0) and equidivisible.
Each free monoid (or semigroup) S has exactly one set of free generators, the cardinality of which is called the rank of S.
Two free monoids or semigroups are isomorphic if and only if they have the same rank. In fact, every set of generators for a free monoid or semigroup S contains the free generators, since a free generator has word length 1 and hence can only be generated by itself. It follows that a free semigroup or monoid is finitely generated if and only if it has finite rank.
A submonoid N of A∗ is stable if u, v, ux, xv in N together imply x in N. A submonoid of A∗ is stable if and only if it is free.
For example, using the set of { "0", "1" } as A, the set N of all bit strings containing an even number of "1"s is a stable submonoid because if u contains an even number of "1"s, and ux as well, then x must contain an even number of "1"s, too. While N cannot be freely generated by any set of single bits, it can be freely generated by the set of bit strings { "0", "11", "101", "1001", "10001", ... } – the set of strings of the form "10 n1" for some nonnegative integer n (along with the string "0").
A submonoid N of A∗ is right unitary if x, xy in N implies y in N. A submonoid is generated by a prefix if and only if it is right unitary.
The defect theorem states that if X is finite and C is the basis of the free hull of X, then either X is a code and C = X, or
A morphism f from a free monoid B∗ to a free monoid A∗ is total if every letter of A occurs in some word in the image of f; cyclic or periodic if the image of f is contained in { w}∗ for some word w of A∗. A morphism f is k-uniform if the length | f( a)| is constant and equal to k for all a in A.
A morphism f from a free monoid B∗ to a free monoid A∗ is simplifiable if there is an alphabet C of cardinality less than that of B such the morphism f factors through C∗, that is, it is the composition of a morphism from B∗ to C∗ and a morphism from that to A∗; otherwise f is elementary. The morphism f is called a code if the image of the alphabet B under f is a code. Every elementary morphism is a code.
An endomorphism f is prolongable if there is a letter a such that f( a) = as for a non-empty string s.Allouche & Shallit (2003) p.10
Note that string projection is well-defined even if the rank of the monoid is infinite, as the above recursive definition works for all strings of finite length. String projection is a morphism in the category of free monoids, so that
where is understood to be the free monoid of all finite strings that don't contain the letter a. Projection commutes with the operation of string concatenation, so that for all strings s and t. There are many right inverses to string projection, and thus it is a split epimorphism.
The identity morphism is defined as for all strings s, and .
String projection is commutative, as clearly
For free monoids of finite rank, this follows from the fact that free monoids of the same rank are isomorphic, as projection reduces the rank of the monoid by one.
String projection is idempotent, as
for all strings s. Thus, projection is an idempotent, commutative operation, and so it forms a bounded semilattice or a commutative band.
For example, if A = { a, b, c}, elements of the free commutative monoid on A are of the form
The fundamental theorem of arithmetic states that the monoid of positive integers under multiplication is a free commutative monoid on an infinite set of generators, the .
The free commutative semigroup is the subset of the free commutative monoid that contains all multisets with elements drawn from A except the empty multiset.
The free partially commutative monoid, or trace monoid, is a generalization that encompasses both the free and free commutative monoids as instances. This generalization finds applications in combinatorics and in the study of parallelism in computer science.
Free generators and rank
Codes
Factorization
Free hull
Morphisms
Test sets
Map and fold
where e is the identity on M. Computationally, every such homomorphism corresponds to a map operation applying f to all the elements of a list, followed by a fold operation which combines the results using the binary operator •. This squiggol (which can be generalized to non-associative binary operators) has inspired the MapReduce software framework.
Endomorphisms
String projection
\varepsilon & \text{if } s=\varepsilon, \text{ the empty string} \\
p_a(t) & \text{if } s=ta \\
p_a(t)b & \text{if } s=tb \text{ and } b\ne a.
\end{cases}
The free commutative monoid
See also
Notes
|
|